home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Amiga Club Hoorn
/
ACH ClubDiskette No.17 (1994-06)(Amiga Club Hoorn)(NL).zip
/
ACH ClubDiskette No.17 (1994-06)(Amiga Club Hoorn)(NL).adf
/
Utilitie
/
FastJPEG.doc
/
FastJPEG.doc
Wrap
Text File
|
1994-06-10
|
16KB
|
438 lines
FastJPEG 1.0
A fast JPEG picture viewer for the Amiga
Copyright © 1993 Christoph Feck, TowerSystems
All Rights Reserved.
Dedicated to Stefan Schulz
I hope you had a great time over there.
'Introduction ' What is FastJPEG ?
'Features ' What makes FastJPEG so special?
'Requirements ' What systems will FastJPEG run on?
'Installation ' Before using FastJPEG.
'Usage ' How to use FastJPEG.
'- from Workbench' Starting FastJPEG via icon.
'- from CLI/Shell' Starting FastJPEG via command line.
'Known Bugs ' What does not work?
'History ' What is new in this version?
'Future ' What may the future bring?
'Acknowledgments ' Whom I want to thank.
'Disclaimer ' Short: Use it at your own risk!
'Copyright ' About legal issues.
'License ' What you have to agree on.
'Support ' What I will do for you.
'Author ' Where you can reach me.
Introduction
************
FastJPEG (or abbreviated: FJPEG) is nothing less - but also nothing more -
than a fast JPEG picture viewer. Let me claim that it is the fastest JPEG
viewer freely available for the Amiga.
Besides being fast, it has many other advantages. Just tale a look at the
list of 'features'.
An important goal was to not trade quality for speed. In fact, FastJPEG is
both fast and has an excellent quality. Most other JPEG viewers either
produce ugly pictures, or need ages to perform the conversion to HAM mode.
The key to the improved quality is a technique called `dithering', where
colors not displayable on the Amiga are approximated by giving neighboring
pixels similar colors, which the eye then mixes to the desired one.
A common variety of this method is the `Floyd Steinberg' error dispersion
algorithm, which is very time intensive, but produces the best pictures.
FastJPEG does not use this method, as it would drastically reduce
performance. The dithering method used in FastJPEG, however, produces
pictures of similar quality.
I wrote and released this program for the Amiga community, which has
deserved such a program. For too many months we have had to stay with an
ugly looking viewer, whose name I just forgot...
I have not written this for me. I prefer TowerView, which is window based,
and is a real application. I will release TowerView when it is ready, but
this will take more time than I had originally envisioned, because the
`todo' list currently grows faster on the end, than it shrinks on the top.
If you are interested in a preview, you can get the file `TV_Preview.lha',
which is on any Aminet ftp site.
Features
********
- It's free!
- Runs on any Amiga.
- Special AGA version included (for HAM8 mode).
- Supports OS 2.0 features, such as overscan and autoscroll.
- Both CLI/Shell and Workbench interface.
- Only 20 kByte in size.
- Reentrant (resident loadable).
- Excellent quality, even in standard HAM.
- Carefully selected color palettes and conversion algorithms.
- Dithering to increase the number of apparent colors.
- Smoothing, if the image width is halved to fit on the screen.
- Minimal `fringing'.
...and of course:
- It's fast!
Requirements
************
FastJPEG runs on any Amiga. Bigger pictures might require 1 meg memory,
especially, if you have some other programs running in the background.
There is a special AGA version included, which performs the conversion to
HAM8 mode. This version requires a 68020 processor (or better), at least
OS 3.0, and - surprise - the AGA chip set.
Some features of FastJPEG are only available if you have OS 2.0 or better.
Among these are overscanned screens (FastJPEG uses your preferred graphics
overscan setting, if the picture doesn't fit into the text overscan area),
automatic scrolling of the screen (if you try to move the pointer outside
to reveal other parts of large images), and the ability to specify a
pattern as a file argument, when using the Shell interface.
Installation
************
Choose either FJPEG_ECS (the OCS/ECS version) or FJPEG_AGA (the AGA
version) and rename it to FJPEG for easier use. You can do this by
selecting either FJPEG icon, and selecting the `Rename' command from the
Icon (2.0) or Workbench (1.3) menu. After deleting the trailing four
characters, press the RETURN key.
* Note that you should use the FJPEG_AGA version if you are lucky owner of
an A1200 or A4000. This version supports the HAM8 mode (and only this
mode), for much better quality.
FastJPEG runs fine from both harddisk and floppy disk. If you want to copy
it to another drawer, just move the icon onto it.
Usage
*****
FastJPEG can be started in two ways:
- 'from the Workbench', by double clicking on a picture's icon, while
holding down the shift key, and having selected the FJPEG icon, or
- 'from the CLI/Shell', by entering the command FJPEG in a CLI or Shell
window, along with the name of the file you wish to view.
FastJPEG supports multiple arguments, meaning that you can either select
more than one icon or name on the command line at one time. For details,
see the specific section.
After FastJPEG is running, it processes each argument you supplied. It
will check if it is a JPEG file (JFIF, or raw JPEG) and start loading the
data as it displays on a custom screen. The screen is a `quiet' screen,
having neither a title bar nor a window border, so that you can use one of
your preferred screen grabbers to capture the rendered picture to a file.
If there is an error, FastJPEG will display a requester, or print the
message into the Shell window. Currently, the following messages can
appear:
"Required argument missing" - You started FastJPEG without any arguments.
"Not enough memory" - Should be pretty self explanatory.
"Can't open screen" - The picture is too big to fit into chip ram.
"Can't open file" - The file was not found. Check the file name.
With OS 2.0, the exact reason will be printed
into the Shell window instead.
"Can't read file" - There was a DOS error while reading.
"Not a JPEG file" - You can only view JPEG files with FastJPEG.
Formats such as IFF-ILBM or GIF are not
supported.
"Error in JPEG file" - The JPEG code reported any error, such
as corrupted file, or unsupported modes.
If the picture loaded correctly, just press the left mouse button to
proceed with the next picture, or to quit FastJPEG on the last picture.
Pressing the right mouse button quits FastJPEG without processing any
remaining arguments.
Workbench Usage
***************
You have to start FastJPEG with arguments. Otherwise it will display an
error requester and exit.
There are two ways to do so. The first is to use extended selection in
conjunction with the shift key. The second is to use FastJPEG as the
default tool for JPEG pictures having an icon. This way, you can view the
files by just double clicking on them.
I did not add those fancy file requesters and AppIcons. If you like these
features, use ToolManager or MegaView, a frontend for file viewers.
CLI/Shell Usage
***************
The template for FastJPEG is "Files/M/A", meaning that you must specify at
least one file name after the command name. The number of files you can
specify is limited to 10 when running under OS 1.3.
Starting with OS 2.0, you can specify any valid AmigaDOS pattern here. For
a description of all possibilities to build patterns, check your AmigaDOS
manual. The easiest is probably the #? joker, which replaces any number of
any characters.
An example would be:
FJPEG #?.jp#?g
This will match any names ending in an extension `.jpg', `.jpeg', and so
on. If you have still OS 1.3 you can't use such patterns.
FastJPEG is reentrant, and can be loaded resident in memory with the
`resident' command.
Known Bugs
**********
FastJPEG cannot load greyscale JPEG files. The message "Error in JPEG
file" will appear if you try to load a greyscale JPEG. If you really need
to view greyscale pictures, I may add this feature at the cost of code
size.
Also, FastJPEG is not able to deal with 'multiple scan' files. I know of
no software which produces such files.
Due to limitations in OS 1.3, you cannot view pictures larger than the size
of your screen. FastJPEG will not scale them to fit, other than the
regular halving of the width to compensate the non-square pixel aspect in
standard HAM interlaced mode.
History
*******
Version 1.0, released on 15-Dec-93:
- First public release.
Future
******
As you might imagine, I already have plans for the future. However, they
will likely go into TowerView. This should not prevent you from making
suggestions. If I think that a feature is useful, and both my programming
capabilities and my time table permits it, I will try to implement it.
I already got some requests for making a picture datatype class for OS 3.0
users. My current plan is to write an interface between the datatypes
library and the Tower loader libraries. There are already a handful of
loader libraries for 24 bit picture formats. The datatypes interface would
obtain the 24 bit raw data from the Tower loaders and then convert the data
to either HAM, HAM8 or a fixed amount of colors. This would also allow an
easy transition to RTG, where the interface could directly pass the 24 bit
data to the requesting application, if it is 24 bit aware.
Acknowledgments
***************
First, I must state that this program is based in part on the work of the
Independent JPEG Group. Without their priceless work, FastJPEG would not
even exist. Special thanks to Tom for guiding me to the right places for
possible optimizations.
Thanks to all beta testers:
- Martin Apel, for letting me test all my AGA programs on his A4000.
- Jason N. Lee, for polishing up my bad english, and for testing FastJPEG
on his accelerated A2000.
- Borge Noest and Frank Grimm, who provided me with snapshots of AGA
renderings, so that I could discover the evil fringing bug.
- Osma Ahvenlampi, for creating the MagicWB icon, and for testing on
his 68010 Amiga.
- Scott Ellis, for making suggestions and testing FastJPEG with OS 3.1.
- Billy Laughlin, for spellchecking the documentation, and for testing
FastJPEG on his OS 1.3 Amiga.
Further testing was done by Martin Schulze, Rick Gideon, Vikram Kimyani,
and Jon M. Price. Thanks to all of them!
Disclaimer
**********
Standard disclaimer:
THERE IS NO WARRANTY FOR THIS PROGRAM TO THE EXTENT PERMITTED BY APPLICABLE
LAW. EXCEPT WHERE OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDER AND/OR
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE PROGRAM
AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
Copyright
*********
FastJPEG is Copyright © 1993 Christoph Feck, TowerSystems. All Rights
Reserved. It is released under the concept of `Freeware'. It has never
been, nor will it ever be in the `Public Domain'.
The archive may only be distributed in unmodified form. No files may be
added, changed or removed. You may not charge for this archive, other than
the cost of the media and duplication fees, as long as they don't exceed
the fees taken by Fred Fish. Distribution is allowed in all forms, such as
BB systems, floppy or compact disks, and ftp sites.
Any inclusion in a commercial, semi-commercial or Shareware distribution
requires the written permission of the author.
License
*******
These are the conditions you must agree on before and while using FastJPEG:
You may copy and distribute verbatim copies of the program's executable
code and documentation as you receive it, in any medium, provided that you
conspicuously and appropriately publish only the original, unmodified
program with all copyright notices and disclaimers of warranty intact and
including all the accompanying documentation, example files and anything
else that came with the original archive.
Except where otherwise stated in this documentation, you may not copy
and/or distribute this program without the accompanying documentation and
other additional files that came with the original. You may not copy
and/or distribute modified versions of this program.
You may not copy, modify, sublicense, distribute or transfer the program
except as expressly provided under this license. Any attempt otherwise to
copy, modify, sublicense, distribute or transfer the program is void, and
will automatically terminate your rights to use the program under this
license. However, parties who have received copies, or rights to use
copies, from you under this license will not have their licenses terminated
so long as such parties remain in full compliance.
By copying, distributing and/or using the program you indicate your
acceptance of this license to do so, and all its terms and conditions.
Each time you redistribute the program, the recipient automatically
receives a license from the original licensor to copy, distribute and/or
use the program subject to these terms and conditions. You may not impose
any further restrictions on the recipients' exercise of the rights granted
herein.
You may not disassemble, decompile, re-source or otherwise reverse-engineer
the program.
You agree to cease distributing the program and data involved if requested
to do so by the author.
Support
*******
No software is perfect. If there are any new versions available, perhaps
because there is a bug fixed or a feature was added, I will announce it in
the international Usenet newsgroup comp.sys.amiga.announce, and will upload
it to the Aminet ftp sites. I will also send new versions to Fred Fish, to
let him publish it in his wonderful Amiga software library.
I'm open to suggestions and comments. Also, if you have problems with
FastJPEG, you can contact me to ask for help. However, you cannot expect
me to do everything. You get the support for free, and I must keep an eye
on my CS studium, so if you don't get a reply within a week or two, I'm
probably busy writing exams.
Author
******
To send suggestions, bug reports, comments, flames, etc., you can contact
me at one of the following addresses. Even if FastJPEG is free, I
certainly won't refuse any kind of donations, being a poor student :)
Christoph Feck
TowerSystems
Balbierstrasse 6
D-67663 Kaiserslautern
Germany
Email: feck@informatik.uni-kl.de
IRC: Pepo (frequently on #amiga and #amigager)
Have fun and thanks for your time reading this!
3k// Christoph Feck, TowerSystems
\\X/ Amiga - Intuition inside.